package com.loby.monitor.excess.local;

import java.io.Serializable;

/**
 * 报警模式
 * @author loby
 */

public enum ExcessMode implements Serializable {
    /**
     * 不报警
     */
    None(0),
    /**
     * 超上限阈值超标
     */
    UpperLimit(1),
    /**
     * 超下限阈值超标
     */
    LowerLimit(2),
    /**
     * 上下限范围内超标
     */
    Inner(4),
    /**
     * 上下限范围外超标
     */
    Outer(3);


    int val;

    ExcessMode(int i) {
        val = i;
    }

    static public ExcessMode valueOf(int i)
    {
        switch (i)
        {
            case 1:return UpperLimit;
            case 2:return LowerLimit;
            case 3:return Outer;
            case 4:return Inner;
            case 0:
            default:return  None;
        }
    }


    @Override
    public String toString() {
        switch (val) {
            case 0:
                return "不报警";
            case 1:
                return "超上限阈值超标";
            case 2:
                return "超下限阈值超标";
            case 4:
                return "阈值范围内超标";
            case 3:
                return "阈值范围外超标";
            case 8:
                return "持续0值报警";
            case 16:
                return "持续衡值报警";
            default:
                return "未知超标模式";
        }
    }
}
